#ifndef __INFRA_K_LIST_PRIV_H__
#define __INFRA_K_LIST_PRIV_H__

#include <linux/types.h>
#include <linux/spinlock.h>

#include "infra_dl_list.h"
#include "infra_list.h"

typedef struct _infra_list_ctx {
    char                        _token[32];
    uint32_t                    _depth;
    struct infra_dl_list_head   _list;
    spinlock_t                  _lock;
    uint32_t                    _data_count;
    void                        *_pgb_userdata;      /* giveback callback userdata */
    void                        *_pnt_userdata;      /* notify callback userdata */
    pfn_infra_list_gb_cb        _pfn_giveback_cb;
    pfn_infra_list_nt_cb        _pfn_notify_cb;
} infra_list_ctx_t;

#endif	/* __INFRA_K_LIST_PRIV_H__ */